#pragma once
#include "FrameProperty.hpp"
#include <string>
#include <boost/filesystem.hpp>
namespace Moduels::FramesIO
{
    class ImageRecorder {
    protected:
        FrameProperty Format;
        std::string Path;
        int Index=1;
    public:
        ImageRecorder(FrameProperty format):Format(format)
        {
            Path=format.Root;
            Init();
        }

        void Init();
        /**
         * @brief 在根目录下创建存储图片的文件夹以及此次运行存出路径目录
         * @param path 根目录
         * @return 创建文件夹后的路径
         */
        std::string CreateFilePath(std::string path);
        /**
         * @brief 将帧信息存储到本地，并以图片形式存储
         * @param frame
         */
        void AddFrameToImage(cv::Mat frame);
    };
}

